/*
deal_cmd_ac.h
offer deal with recive cmd from upper  api extern
designed by lunanting

----------------------------
2020-06-29 10:33:35
create file
----------------------------
*/
#ifndef __DEAL_CMD_AC_H
#define __DEAL_CMD_AC_H

#include "../../bsp/base_type.h"

typedef int32_t(*AGV_REPLAY_MSG_FUN) (const char *value);

typedef struct agv_cmd_repaly_st
{
    const char *agv_cmd;   /* ���� */
    AGV_REPLAY_MSG_FUN agv_cmd_fun;  /* ����ָ�� */
}agv_cmd_replay_st;




/*************************************merge api extern*****************************/

int32_t gyro_reset_fun(int8_t side);
int32_t agv_stop_fun();
int32_t agv_run_fun(float run_speed);
int32_t agv_car_round_side_time_reset_gyro_fun(int32_t time);
int32_t agv_car_round_side_dist_reset_gyro_fun(int32_t dist);
int32_t agv_is_car_round_side_reset_gyro_end_fun();
int32_t agv_is_car_dist_reset_gyro_round_side_end_fun();
int32_t agv_car_adjust_pose_by_lidar_fun(int32_t time);
int32_t agv_leave_adjust_pose_by_lidar_fun(int32_t time);
int32_t agv_car_is_adjust_pose_end();
int32_t agv_leave_car_fun(const char *value);
int32_t agv_is_car_leave_finish_fun();
int32_t agv_is_round_side_leave_car_fun();
int32_t agv_is_car_search_finish_fun();
int32_t agv_car_safe_distance_fun(int32_t dist);
int32_t agv_car_going_fun(int8_t side);
int32_t agv_is_car_going_end_fun();
int32_t agv_set_robot_base_speed_fun(float base_speed);
int32_t agv_car_turning_fun(int8_t type);
int32_t agv_is_car_turning_end_fun();
int32_t agv_car_turn_to_side(int8_t side);
int32_t agv_robot_right_angle_fun(int32_t side);
int32_t agv_is_robot_fix_angle_end_fun();
int32_t agv_set_wash_car_roof_flag_fun(int32_t state);
int32_t agv_set_soft_reset_gyro_flag_fun(int32_t state);
int32_t agv_set_dist_filter_flag_fun(int32_t state);

#endif
//end of the file
